home *** CD-ROM | disk | FTP | other *** search
- Aide en ligne pour ALGED Algebra Editor
-
- Copyright (c) 1994,1996 John Henckel
-
- L'autorisation d'utiliser, copier, modifier, distribuer et vendre ce logiciel
- et sa documentation pour n'importe quelle raison que ce soit est accordée
- gratuitement sous réserve que la présente notice de copyright apparaisse sur
- chaque copie et qu'elle apparaisse aussi en même temps que cette notice
- d'autorisation dans la documentation de support. Tous les programmes contenus
- ici sont livrés "tels quels". Les garanties implicites de vente et
- d'adaptation pour un usage particulier sont expressément exclues.
-
- ----------------------------------------------------------------------------
-
- Je m'appelle John Henckel (internet: henckel@vnet.ibm.com). Je suis un
- passionné de micro; J'aime écrire des programmes pour m'amuser et ALGED est
- l'un d'entre eux. Je recommande aussi mon programme simulateur de collision en
- 2D "Impact" que l'on trouve dans SinTel/msdos/simulatn. Merci à ma famille de
- me laisser travailler sur ce sujet. Merci à mon manager à IBM Rochester
- Minnesota de me permettre d'offrir ce programme gratuitement au public.
-
- Alged est un outil pur les mathématiques symboliques, aussi j'ai volontairement
- éviter les algorithmes qui font appel à la puissance du micro pour faire du
- "number crunching". Alged est un programme pour résoudre des problèmes
- d'algèbre. Il y a d'autres programmes qui peuvent effectuer des manipulations
- de formules symboliques, par exemple MathCad ou Mathematica.
-
- Les avantages d'Alged sont :
- * C'est gratuit ! Le source des programmes est gratuit aussi !
- * Peu de ressources demandées ( il tourne sur un PC/XT de 256 Mb)
- * Facile à utiliser, idéal pour l'éducation
- * Graphiques en 2D et 3D rapides et faciles à mettre en oeuvre.
- * Peut être personnalisé et traduit dans d'autres langues.
-
- Bien sûr, il existe des limites. Alged n'a rien d'un programme "commercial"
- (pourtant, j'ai vu pire !) Alged ne traite pas les matrices, les séries, les
- intégrales, les dérivées ou les transformations transcendentales. Les nombres
- imaginaires ne sont supportés que pour les cinq opérations de base (addition,
- soustraction, multiplication, division et exponentiation).
-
- Alged est un outil pur les mathématiques symboliques, aussi j'ai volontairement
- éviter les algorithmes qui font appel à la puissance du micro pour faire du
- "number crunching".
-
- Vous pouvez consulter le fichier alged.doc pour un apprentissage rapide du
- produit.
- ----------------------------------------------------------------------------
- Instructions pour l'entrée des données.
-
- L'écran Alged possède un menu en haut et une zone de travail en bas.
- En bas à gauche, l'heure est indiquée, et le pourcentage de mémoire utilisée.
- (Quand la mémoire atteint les 100%, Alged s'arrête.)
- On manipule les formules dans la zone de travail en cliquant sur des parties
- d'entre elles puis en cliquant sur une fonction dans le menu.
- On clique sur le bouton gauche de la souris dans la zone de travail pour
- sélectionner l'expression courante, appelée PRISE. La Prise est
- mise en double brillance.
- On clique sur le bouton droit de la souris dans la zone de travail pour
- sélectionner l'expression CLE. La Clé est copiée au bas de l'écran. Noter
- qu'il est possible de cliquer sur la Clé au bas de l'écran, de sorte que la
- Prise peut être une sous-entité de la Clé.
- Pour se déplacer dans la zone de travail, on peut cliquer sur la bordure
- du bas de l'écran.
-
- Si votre micro n'a pas de souris, (ou si vous avez décidé de ne pas vous en
- servir, utiliser les touches [Page Haut], [Page Bas] et [Fin] pour sélectionner
- la Prise. Ces touches descendent dans l'arbre hiérarchique du fichier stocké
- en mémoire. On peut copier la Prise vers la Clé en tapant '.' . On peut
- lister la Clé en tapant 'k'. On peut copier la Clé sur la zone de travail en
- tapant la touche [Inser]. On peut annuler la Clé en tapant sur [Entrée]. Pour
- se déplacer dans la zone de travail, on peut utiliser les touches avec des
- flèches.
-
- Quelques opérations sur le menu utilisent seulement la Prise, d'autres
- utilisent à la fois la Prise et la Clé. A moins d'une autre explication, les
- descriptions du menu ci dessus s'appliquent uniquement à la Prise.
- ----------------------------------------------------------------------------
- Description du Menu :
-
- Simplifie [barre d'espace] : simplifie l'expression. Cette fonction trie
- l'expression, combine les termes communs, calcule les nombres et la réécrit
- sous forme canonique.
- Note : Une fonction similaire est SimpStep qui est assignée à la touche de
- fonction 'x'. La fonction SimpStep montre les étapes intermédiaires de la
- simplification.
-
- Distribue [d] distribue la multiplication sur les additions et les
- soustractions et distribue les exposants sur la multiplication et la division.
-
- Note: Une autre fonction similaire est DistChild qui est assignée au
- caractère 'D' (appuyer sur Maj et 'd'). La fonction DistChild est différente
- pour deux raisons.
- 1. DistChild fait une distribution du haut vers le bas. Par exemple,
- (x*(a + b))^2 ---> (x^2)*(a + b)^2 avec DistChild
- (x*(a + b))^2 ---> (x*a + x*b)^2 avec Distribue
- 2. DistChild ne distribue pas les facteurs majeurs dans une expression
- ou une équation. On peut utiliser DistChild pour simplifier le resultat
- d'une mise en facteurs, comme FactPoly ou FactQuad.
-
- Calcule [c] calcule tous les nombres ex: 3*2 => 6.
-
- FactPrem [v] trouve la mise en facteurs premiers de nombres entiers. (Ceci est
- est limité par l'option ?d du fichier de personnalisation Alged.1st)
-
- Entiers [i] convertit les nombres réels en entiers, si possible. ex > 1.5 =>
- 3/2 Cet algorithmes a deux stratégies différentes. Tout d'abord, il cherche
- des séquences répétitives dans la partie fractionnaire du nombre. Au moins
- deux chiffres répétés doivent être significatifs. Si cela ne marche pas, il
- cherche un nombre entier, d, tel que d*x soit un entier. Les paramètres
- utilisateurs ?e et ?d du fichier Alged.1st sont utilisés ici.
-
- Associe [a] permute les éléments dans un groupe associatif.
-
- Déno-Comm [m] Est une fonction à bascule pour créer un dénominateur commun ou
- pour distribuer la division sur les additions et les soustractions.
-
- Mode Car [8] Bascule les codes ascii 7 bits vers 8 bits ou vice-versa.
- Ceci est pratique si l'on utilise l'impression d'écran.
-
- Coef-Poly [p] collecte les coefficients d'un polynôme. La Prise doit
- être un polynôme (pas une équation) et la Clé doit être l'expression
- utilisée comme base du polynôme.
- ex. Prise : a*x + b*x + c, Clé : x ==> le resultat est c + (a + b)*x
-
- Centrer [home] centre horizontalement les formules (valeur par défaut).
-
- Div-Poly [\] division polynomique. La Prise doit être une division (pas
- une équation) et le numérateur doit être un polynôme de degré supérieur
- ou égal à celui du dénominateur. La Clé doit être la variable de base.
- ex: Prise : (x^2 - y^2)/(x - y) et Clé : x. ==> Le résultat est x + y.
-
- FactQuad [q] Met en facteurs un polynôme de degré 2 en utilisant l'équation
- quadratique. La Prise doit être un polynôme de degré 2 et non une équation. La
- Clé doit être la variable de base.
- ex: Prise : (x^2 - y^2) et Clé : x. ==> Le résultat est (x + y)(x - y).
-
- FactCubic [3] Met en facteurs un polynôme de degré 3 en utilisant l'équation
- cubique. La Prise doit être un polynôme de degré 3 (pas une équation) La Clé
- doit être la variable de base.
- ex: Prise : (x^3 - y^3) et Clé : x. ==> Résultat (après Entiers et
- plusieurs fonctions Calcule et Simplifie ) :
- (x - y)*(x + (0.5 - 0.86i)*y)*(x + (0.5 + 0.86i)*y).
-
- Note: Cette fonction ne marche pas très bien. Elle donne parfois une
- réponse fausse et parfois utilise toute la mémoire. Le problème se rencontre
- avec des racines non singulières. N'utilisez cette fonction qu'en dernier
- ressort.
-
- Fact-Poly [f] Met en facteurs un polynôme en utilisant les racines
- rationnelles. La Prise doit être un polynôme (pas une équation). La Clé doit
- être la variable de base.
- Ex : Prise : (x^4 - y^4) et Clé : x. ==> Résultat :
- (x - y)(x + y)(x^2 + y^2).
-
- Substitue [u] Réalise la substitution basée sur la Clé appliquée sur la Prise.
- La Clé doit être une équation.
- Ex : Prise : a*x + b et Clé : x = y - 1
- ==> Résultat : a*(y - 1) + b.
-
- Notes: Le type de la Clé peut être une expression, mais on peut avoir
- besoin de changer l'association sur la Prise de façon à faire fonctionner
- la substitution. On peut réaliser ceci avec la fonction Egal-Clé : Pour
- remplacer la Prise par la Clé, taper =u.
-
- ^N Etend [n] étend les exposants entiers Ex : x^3 ==> x*x*x
-
- JointExp [j] joint les exposants de la base commune. Ceci est la
- fonction inverse de Distribue pour les exposants.
-
- Egal-Clé [=] Change la Clé en une équation en utilisant la Prise.
- Ni la Prise ni la Clé ne doivent être une équation avant cette opération.
- Ex : Prise : x + y, Clé : z ==> Clé résultante x + y = z
-
- Note: On peut utiliser = et u pour remplacer la Prise par la Clé.
-
- Add-Clé [+] ajoute la Clé à la Prise.
- Notes Si la Prise est une équation, la Clé est ajoutée
- aux deux côtés. Si la Clé est une équation, les côtés correspondants
- sont ajoutés à la Prise. Si la Prise ou la Clé ne sont pas une équation,
- la Clé est à la fois ajoutée et retranchée à la Prise.
- Ex : Prise : x, Clé : y ==> résultat : x + y - y.
-
- Sub-Clé [-] soustrait la Clé à la Prise. Voir notes sur Add-Clé.
-
- Mult-Clé [*] multiplie la Prise par la Clé. Voir notes on Add-Clé.
-
- Div-Clé [/] divise la Prise par la Clé. Voir notes sur Add-Clé.
-
- Exp-Clé [e] Monte la Prise à la puissance Clé. Voir notes sur Add-Clé.
-
- EffaceDeb [suppr] Efface l'expression en haut de l'écran.
-
- EntrerClé [k] demande la saisie d'une nouvelle Clé. On doit taper la Clé
- et appuyer sur F6 Entrée quand on a terminé.
- (La touche de fonction F6 peut produire un ^Z, mais si cela ne fonctionne
- pas, on peut alors appuyer sur ctrl-z.). On peut utiliser soit une notation
- "infix" soit "postfix" en fonction de l'option ?f du fichier alged.1st.
-
- Exemple "Infix" z = (x^2 + y^2)^.5.
-
- Exemple "Postfix" z x 2 ^ y 2 ^ + .5 ^ =.
- On ne peut pas utiliser de parenthèses. Les symboles doivent être
- séparés par des blancs.
-
- Note: On peut utiliser EntrerClé pour taper tout ce qui peut exister
- dans un fichier de données (extension .ae). Ceci s'applique aussi aux
- commentaires visibles (") et aux options utilisateurs telles que ?m 41.
- (Exception: on ne peut pas changer les drivers bgi avec ?g, mais on peut
- changer le mode ou la palette de couleurs). L'option ?f ne prend pas
- effet avant la fin du fichier.
- Utiliser la fonction InsèreClé pour ajouter la nouvelle Clé à l'expression.
-
- InsèreClé [Inser] Copie la Clé à la liste des expressions en cours.
-
- EffacTout [Alt-e] efface toutes les expressions de la zone de travail
- (sauf la Clé)
-
- DebugMode [Alt-d] Vide la liste arborescente de la Prise à des fins de
- corrections du programme.
-
- Charge [l] Charge d'autres expressions à partir d'un fichier.
- Note: Les expressions en cours ne sont pas effacées.
-
- Sauve [s] Sauvegarde la liste des expressions sur un fichier. La Clé
- n'est pas sauvegardée.
-
- Ecrit [w] Ecrit la liste des expressions en notation "postfix". Cette
- fonction n'est pas très utile sauf si vous aimez la notation "postfix".
- Je l'ai laissée parce qu'elle se trouvait déjà dans alged version 2.1.
-
- EgalDroit ']' Déplace l'opérande de droite depuis la partie gauche d'une
- équation vers la partie droite.
- Exemple: Si la Prise est x + y = 3, le résultat est x = 3 - y.
-
- EgalGauch '[' Déplace l'opérande de gauche depuis la partie gauche d'une
- équation vers la partie droite.
- Exemple: Si la Prise est x + y = 3, le résultat est y = x + 3.
-
- Graph [g] Passe l'écran en mode graphique et trace la fonction.
- Appuyer sur F1 pour avoir l'aide en ligne sur les touches de fonction en
- mode graphique.
- Pour utiliser les graphiques, il faut un adaptateur vidéo CGA, EGA, VGA ou
- Hercules et on doitavoir le fichier bgi correspondant (par ex EGAVGA.BGI)
- dans le répertoire courant. Alged détecte automatiquement le mode voulu
- parmi les quatre cités. S vous voulez utiliser un autre fichier bgi, indiquez
- le avec l'option ?g du fichier alged.1st.
-
- -----------------------------------------------------------------------------
- Commentaires généraux.
-
- Si vous appréciez Alged ou avez des suggestions, envoyez moi un message sous
- Internet. Je ne demande pas d'argent, mais j'aime recevoir des messages !
-
- Quand on démarre Alged à partir de la ligne de commande DOS, on peut
- spécifier un ou plusieurs fichiers de données à charger. Alged charge
- toujours en premier le fichier ALGED.1ST. Il est donc conseillé de mettre
- dans ce fichier les options de personnalisation pour Alged, mais on peut
- aussi y mettredes formules mathématiques. Voir le fichier ALGED.1ST pour
- avoir la liste des options de personnalisation utilisées par Alged.
- Alged utilise le mode vidéo courant; si on désire le changer, il faut
- taper par exemple MODE co80,43 (le driver ANSI.SYS peut être nécessaire
- pour cette commande).
-
- L'algorithme de visualisation utilisé par ALGED n'est pas parfait; par
- exemple, dans l'expression :
- 1 2
- ---- y
- 2 + ----
- x b
-
- les barres de fractions devraient être sur la même ligne. On peut les
- y forcer en sélectionnant l'option ?y=0 dans le fichier ALGED.1ST, mais cela
- entraîne d'autres conséquences qui peuvent être gênantes.
-
- Quand on clique sur une expression avec la souris, la façon de le faire
- est évidente. Il existe une exception pour les exponentielles.
- Pour cliquer sur une exponentielle, pointer la souris juste au dessus du
- coin en haut à droite et cliquer.
- Par exemple, dans
- 2
- (x + y)
-
- pointer juste au dessus de ')' et cliquer.
-
- Vous remarquerez, en haut à gauche du menu les fonctions 'Simplifie' et
- 'Distribue'. Ces opérations sont très pratiques pour réduire une longue
- expression compliquée. Après une division polynomiale ('Div Poly') par
- exemple, j'exécute alternativement 'Distribue' et 'Simplifie' jusqu'à
- ce que plus rien ne change.
-
- Ce programme ne supporte pas directement les opérateurs négatifs; c'est
- pourquoi, au lieu de taper -x, on doit taper -1*x.
- Il ne supporte pas non plus les racines; ainsi, pour dire sqrt(x), on devra
- écrire x^0.5
-
- Toutes les valeurs numériques sont stockées sous forme de nombres à
- virgule flottante sur 8 octets selon la norme IEEE (double précision).
- Ceci autorise à avoir des nombres à 16 digits avec un exposant entre
- -307 et +307.
- Alged ne délivre que 15 digits, car le dernier n'est souvent pas juste.
- Ceci amène parfois à des situations où des nombres qui apparaissent comme des
- entiers n'en sont pas en fait. Par exemple, on peut voir 1*x et, quand on
- le simplifie avec 'Simplifie', cela ne change pas la valeur de x. Pour
- corriger cela, utiliser la fonction 'Entiers', et les digits erronés
- sont éliminés. Un petit mot de précaution : si votre problème utilise de
- très petits nombres, tels que 1.23e-10, il ne faut pas utiliser la fonction
- 'Entiers' qui retirerait tous les chiffres significatifs.
- Les symboles spéciaux suivants sont reconnus :
- pi = 3.14159265358979292
- e = 2.71828182845904509
-
- Alged permet d'utiliser toute fonction ayant jusqu'à 5 arguments.
- Cependant, seules les fonctions suivantes sont reconnues dans les
- calculs et dans les graphiques :
- Avec un argument :
- sin, cos, tan, acos, asin, atan, cosh, sinh,
- tanh, ln (base e), log (base 10), abs, rand, sign.
- Avec deux arguments :
- min, max, r, mod, atan2.
- Les fonctions trigonométriques sont en radians. La fonction r(x,y) utilise
- la fonction 'hypot' en C qui est égale à (x^2 + y^2)^0.5 qui est l'hypoténuse.
- La fonction atan2(y,x) est l'angle (en radians, de -pi à pi) de la ligne
- joignant (x,y) à l'origine.
-
- Les noms des variables peuvent aller jusqu'à 24 caractères. Par contre, le
- nom des fonctions est limité à 7 caractères. Ceci est du au fait que les
- pointeurs des paramètres utilisent une partie de la mémoire.
-
- La variable spéciale "i" est reconnue comme la racine carrée de -1.
- De la sorte, i*i est simplifié en -1. De même, i^7.3 devient -1*1^1.3.
-
- Les nombres imaginaires sont supportés dans les exponentielles, (1+2i)^3
- est évalué comme
- 2.24^3*(cos(1.11*3) + i*sin(1.11*3)) soit -11-2i. J'ai utilisé la
- convention dans laquelle -pi<theta<=pi. Les nombres imaginaires ne sont pas
- calculés dans des fonctions comme sin(*i)
-
- Les deux fonctions 'Calcule' et 'Simplifie' calculent des résultats
- numériques. Toutefois, la différence est que 'Simplifie' n'essaiera pas
- de faire le calcul sur des nombres entiers dont le résultat conduirait
- un nombre non entier. Par exemple, 4^0.5 n'est pas traité par 'Simplifie'
- mais l'est par 'Calcule'.
-
- Quelques fonctions sur les polynômes ne marchent pas tant que l'expression
- n'a pas été d'abord complètement distribuée et simplifiée.
-
- Vous pouvez vous exercer avec 'Associe et 'Coef Poly'. Ces opérations
- sont utiles dans de nombreux cas. 'Associe' va réarranger les
- additions / soustractions ou les multiplications / divisions, ou =,
- en fonction de ce qui est sélecté à ce moment là.
-
- La fonction 'Fact-Poly' peut être très longue à exécuter. Sur un 486DX-33,
- la mise en facteurs d'un polynôme du 4ème degré peut prendre 15 secondes.
- En général, je dois admettre que je n'ai pas essayé d'optimiser les
- performances d'Alged. C'était déjà assez difficile de faire le programme.
-
- Personnalisation :
-
- Le menu d'Alged et les autres messages du programme sont stockés dans le
- fichier ALGEDFRA.MNU (pour la version française). On peut le personnaliser
- en utilisant un programme éditeur de texte. On peut changer la taille et
- la disposition du menu, les touches de fonctions, ou n'importe quelle
- partie du texte. On peut traduire ce fichier dans une autre langue (ce
- qui a été fait pour la version française). Si vous le faites, renvoyez moi
- la version traduite pour que je puisse la distribuer !
- Quand Alged démarre, il charge en mémoire le fichier ALGEDxyz.MNU à
- partir du répertoire en cours, où xyz est la valeur indiquée pour le
- langage et spécifiée dans le paramètre ?l du fichier ALGED.1ST.
- Si l'option ?l n'est pas spécifiée dans ALGED.1ST ou dans aucun autre
- fichier texte, le fichier de base en anglais ALGED.MNU est chargé.
-
- Notes finales :
-
- Une dernière note sur la fiabilité. Ce programme a été mis à la disposition
- de tous comme le résultat d'un développement pour le plaisir et n'est
- pas fiable. Vous devrez vérifier les réponses en refaisant si possible
- l'opération à l'envers. Vous devrez sauvegarder souvent votre travail
- pour éviter tout problème. Quand j'ai développé ce programme, il m'est
- souvent arrivé de bloquer le système. Je n'avais plus qu'à remettre la
- machine sous tension pour la faire repartir ! Soyez prudents, surtout
- sur des opérations très longues telles que 'Fact-Poly'.
-
- "Voici ce que dit le Seigneur :'Ne laissez pas l'homme sage se vanter de sa
- sagesse ou l'homme fort se vanter de sa force, ou l'homme riche se vanter
- de ses richesses, mais faites que celui qui se vante, se vante de ceci :
- qu'il soit celui qui me comprend et me connaît, que je suis le Seigneur,
- qui suis la bonté, la justice et la droiture sur terre, car c'est là ma
- joie,' dit le Seigneur." Jérémie 9.23-24
-
- Fin du texte de l'aide. Appuyer sur n'importe quelle touche pour revenir
-